﻿using Microsoft.Extensions.DependencyInjection;

using PLCS.App.Shared.Service;
using PLCS.App.Shared.Service.Dialog;
using PLCS.App.Shared.ViewModels.Common;
using PLCS.App.Shared.ViewModels.UserControls.Chlidren;
using PLCS.App.Shared.Views.Common;
using PLCS.App.Shared.Views.UserControls.Chlidren;
using PLCS.Domain;

using Prism.Modularity;

using Volo.Abp.Modularity;

namespace PLCS.App.Shared
{
    public class AppSharedModule : AbpModule, IModule
    {
        public void OnInitialized(IContainerProvider containerProvider)
        {
        }

        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterForNavigation<MsgBoxView, MsgBoxViewModel>();
            containerRegistry.RegisterForNavigation<EditMoverControlDialogView, EditMoverontrolDialogViewModel>();
            containerRegistry.RegisterForNavigation<EditTrackControlDialogView, EditTrackControlDialogViewModel>();
            containerRegistry.RegisterForNavigation<EditRowGoodsControlDialogView, EditRowGoodsControlDialogViewModel>();
            containerRegistry.RegisterForNavigation<EditConveyorLineControlDialogView, EditConveyorLineControlDialogViewModel>();
        }

        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            context.Services.AddSingleton<CacheSettingService>();
        }
    }
}